package 数组;
import java.util.Arrays;

/**
给定一个未排序的整数数组，找出最长连续序列的长度。
要求算法的时间复杂度为 O(n)。

示例:
输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。
 * @author zoe
 *
 */
public class 最长连续序列 {
    public int longestConsecutive(int[] nums) {
        if(nums.length<2) return nums.length;
        Arrays.sort(nums);
        int max=1,count=1;
        for(int i=1;i<nums.length;i++){
            if(nums[i]==nums[i-1]+1){
                count++;
            }else if(nums[i]!=nums[i-1]){
                count=1;
            }
            max=Math.max(max,count);
        }
        return max;
    }
}
